Yasm: A Software Model-Checker for Verification and Refutation
نویسندگان
چکیده
ions. Following SLAM, abstractions are represented by Boolean Programs. Unlike SLAM, the semantics of these programs is given via a variant of Mixed Transition Systems (MixTS) [7, 11]. Compared to Modal and 3-valued TSs, MixTSs allow for (a) 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: int p1,p2,p3,x,y; p1=p2=p3=x=y=5; if(p3<=0) return; if(y<0) {if(x>2){ if(y>10) {if(p2>0) ERROR;}} if(p1>0) ERROR; } else { if(p2>0) {if(p1>0) x = x+1; if(p2>0) x = x+2; if(p3<=0) x = x+3; if(x>40) if(p1>0) ERROR; if(p1>0) ERROR;}} (b) 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: bool b1,b2,b3; b1=b2=b3=1; if (b3) return; if(*) {if(*){ if(*) {if(b2) ERROR;}} if(b1) ERROR; } else { if(b2) {if(b1) ; if(b2) ; if(b3) ; if(*) if(b1) ERROR; if(b1) ERROR;}} Fig. 1. (a) A C program. (b) An abstraction of (a) using predicates b1:{p1>0}, b2:{p2>0},
منابع مشابه
Model - Checking : Benchmarking and Techniques for Buffer Overflow Analysis by Kelvin Ku A thesis submitted in conformity with the requirements
Software Model-Checking: Benchmarking and Techniques for Buffer Overflow Analysis Kelvin Ku Master of Science Graduate Department of Computer Science University of Toronto 2008 Software model-checking based on abstraction-refinement has recently achieved widespread success in verifying critical properties of real-world device drivers. We believe this success can be replicated for the problem of...
متن کاملReachability checking in complex and concurrent software systems using intelligent search methods
Software system verification is an efficient technique for ensuring the correctness of a software product, especially in safety-critical systems in which a small bug may have disastrous consequences. The goal of software verification is to ensure that the product fulfills the requirements. Studies show that the cost of finding and fixing errors in design time is less than finding and fixing the...
متن کاملWhy Waste a Perfectly Good Abstraction?
Software model-checking based on the CEGAR framework can be made more precise by separating non-determinism from the lack of information due to abstraction. The two can be modeled individually using four-valued Belnap logic. In addition, this logic allows reasoning about negations effectively and thus enables checking of full CTL. In this paper, we present YASM – a new symbolic software model-c...
متن کاملToward Unbounded Model Checking for Region Automata
The large number of program variables in a software verification model often makes model checkers ineffective. Since the performance of BDD’s is very sensitive to the number of variables, BDD-based model checking is deficient in this regard. SAT-based model checking shows some promise because the performance of SAT-solvers is less dependent on the number of variables. As a result, SAT-based tec...
متن کاملA Framework for Compositional Verification of Multi-valued Systems via Abstraction-Refinement
We present a framework for fully automated compositional verification of μ-calculus specifications over multi-valued systems, based on multivalued abstraction and refinement. Multi-valued models are widely used in many applications of model checking. They enable a more precise modeling of systems by distinguishing several levels of uncertainty and inconsistency. Successful verification tools su...
متن کامل